There are many environments where instant communications of time-critical information to a group of users is desirable or necessary. Examples of such environments include financial trading markets, news organizations and emergency response agencies. Such environments often utilize a “Hoot ‘n’ holler” (HnH) network to provide “always on” multiuser conferences without the need to dial into a conference.
Conventional HnH networks rely on dedicated lines between users, with circuitry that allowed a single user “the floor” for speaking (or some other form of non-voice communications). Advancements in technology have allowed for packet-based HnH floor control using internet protocol (IP) packet-based flow control in peer-to-peer (P2P) networks. In a typical implementation, most recent speakers (as identified in a source field of an IP header) may be allowed to speak in a round-robin manner, with other speakers backing off (staying quiet and listening only) when they do not have the floor.
In many applications utilizing such floor control, there is a hierarchy among users that may be important to consider when granting floor control. For example, a fire chief (or other type of leader) should always be given the floor when giving orders in an emergency response environment. Unfortunately, conventional HnH networks do not allow for flexible priority assignment.
Overview
Embodiments of the present disclosure generally provide methods and apparatus for processing multicast packets.
One method generally includes receiving multicast packets of media streams from endpoints in a network participating in a communication session, identifying at least one of the media streams that originates from an endpoint that does not support media stream priority marking within the multicast packets, retrieving a media stream priority value associated with the identified media stream, marking multicast packets of the identified media stream with the retrieved priority value, and making a decision whether or not to transmit multicast packets of the identified media stream marked with the retrieved priority to other devices participating in the session based, at least in part, on a priority policy of the network that considers the retrieved priority value.
One method generally includes receiving packets of a first stream, determining a priority value for the first stream based, at least in part, on a source of the first stream and a communications channel, modifying the first stream to include the priority value, and sending the modified first stream to one or more devices participating in a multicast session.
One embodiment provides a method for limiting a number of multicast media streams transmitted using a multicast address. The method generally includes inserting a proxy media server between one or more first network devices that support priority marking of multicast media streams and one or more second network devices that do not support marking of multicast media streams and regulating the retransmission of media streams between the first and second network devices in accordance with a priority policy.
One apparatus generally includes an interface for receiving multicast packets of media streams from endpoints in a network participating in a multicast session and stream regulation logic configured to identify at least one of the media streams that originates from an endpoint that does not support media stream priority marking within the multicast packets, retrieve a media stream priority value associated with the identified media stream, and make a decision whether or not to transmit multicast packets of the identified media stream marked with the retrieved priority to other devices participating in the multicast session based, at least in part, on a priority policy of the network that considers the retrieved priority value.
One apparatus generally includes an interface for receiving multicast packets of media streams from endpoints in a network participating in a multicast session and means for identifying at least one of the media streams that originates from an endpoint that does not support media stream priority marking within the multicast packets, retrieving a media stream priority value associated with the identified media stream, and making a decision whether or not to transmit multicast packets of the identified media stream marked with the retrieved priority to other devices participating in the multicast session based, at least in part, on a priority policy of the network that considers the retrieved priority value.